using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Storage;

namespace OrigPacman
{
    //This class holds the properties that are individual to the ghosts
    class Ghost
    {
        public enum State { RUN, ATTACK, DEAD};
        public enum Color { RED = 0, PURPLE = 1, GREEN = 2, BLUE = 3};

        #region Variables
        Vector2 position = new Vector2(0, 0);
        State currentState;
        Color currentColor;
        Texture2D texture;
        public int speed;
        public Direction currentDirection;
        public int nextWayPoint;
        public int prevWayPoint;
        #endregion

        #region Properties
        public Vector2 Position
        {
            get { return position; }
            set { position = value; }
        }
        public Texture2D Texture
        {
            get { return texture; }
            set { texture = value; }
        }
        public Color CurrentColor
        {
            get { return currentColor; }
            set { currentColor = value; }
        }
        public State CurrentState
        {
            get { return currentState; }
            set { currentState = value; }
        }
        #endregion

        public Ghost(Color ghostColor, Vector2 start)
        {
            currentColor = ghostColor;
            position = start;
            currentState = State.ATTACK;
            currentDirection = Direction.SOUTH;
            speed = 65;
            nextWayPoint = 44;
            prevWayPoint = 45;
        }
    }
}